f4d7929d0ddcddd2c9baadef40ae73e1e9a7d8ba,app/src/main/java/io/github/benoitduffez/cupsprint/printservice/CupsService.java,CupsService,onRequestCancelPrintJob,#PrintJob#,107
Before Change
@Override
protected void onRequestCancelPrintJob(final PrintJob printJob) {
final PrintJobInfo jobInfo = printJob.getInfo();
String url = jobInfo.getPrinterId().getLocalId();
String clientUrl = url.substring(0, url.substring(0, url.lastIndexOf('/')).lastIndexOf('/'));
final int jobId = mJobs.get(printJob.getId());
After Change
@Override
protected void onRequestCancelPrintJob(final PrintJob printJob) {
final PrintJobInfo jobInfo = printJob.getInfo();
final PrinterId printerId = jobInfo.getPrinterId();
if (printerId == null) {
Crashlytics.log("Tried to cancel a job, but the printer ID is null");
return;
}
String url = printerId.getLocalId();
String clientUrl = url.substring(0, url.substring(0, url.lastIndexOf('/')).lastIndexOf('/'));
final PrintJobId id = printJob.getId();
if (id == null) {
Crashlytics.log("Tried to cancel a job, but the print job ID is null");
return;
}
final int jobId = mJobs.get(id);
try {
final URL clientURL = new URL(clientUrl);
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
cancelPrintJob(clientURL, jobId);
return null;
}
@Override
protected void onPostExecute(Void v) {
onPrintJobCancelled(printJob);
}
}.execute();
} catch (MalformedURLException e) {
Log.e(CupsPrintApp.LOG_TAG, "Couldn't cancel print job: " + printJob + " because: " + e);
Crashlytics.log("Couldn't cancel job: " + jobId);
Crashlytics.logException(e);
}
}